<?php
namespace app\admin\model;

use think\Model;
use traits\model\SoftDelete;

class Article extends Model
{
    //引入软删除trait 和 定义软删除字段
    use SoftDelete;
    protected $deleteTime = 'delete_time';
    // 设置完整的数据表（包含前缀）
    protected $name = 'article';

    protected $auto = [];
    protected $insert = ['create_time'];
    protected $update = [];

    //初始化属性
    protected function initialize()
    {
    }

    /**
     * 自动完成- 插入时自动填写创建时间
     * @return unix_timestamp
     */
    protected function setCreateTimeAttr()
    {
        return time();
    }

    /**
     * 和管理员表的关联查询
     * @return \think\model\Relation
     */
    public function hasOneAdmin()
    {
        return $this->hasOne('Admin', 'id', 'user_id', [], 'LEFT')->field('user_name');
    }

    /**
     * 左连接分类表获取分类名称
     * @return $this
     */
    public function hasOneCategory()
    {
        return $this->hasOne('ArticleCategory', 'id', 'category_id', [], 'LEFT')->field('name');
    }
    /**
     * 左连接分类表获取正文内容
     * @return $this
     */
    public function hasOneArticleContent()
    {
        return $this->hasOne('ArticleContent', 'article_id', 'id', [], 'RIGHT')->field('content');
    }
}